package com.bd.scm.domain.models.leave;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 请假视图
 * @author yufc
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("bd_view_leave")
public class LeaveView implements Serializable {

    @ApiModelProperty(value="")
    private Long orderId;

    @ApiModelProperty(value="")
    private String orderNo;

    @ApiModelProperty(value="")
    private String leaveId;

    @ApiModelProperty(value="")
    private Date startDate;

    @ApiModelProperty(value="")
    private Date endDate;

    @ApiModelProperty(value="")
    private Integer peopleNum;

    @ApiModelProperty(value="")
    private BigDecimal totalTime;

    @ApiModelProperty(value="")
    private String remark;

    @ApiModelProperty(value="")
    private String submitterId;

    @ApiModelProperty(value="")
    private String submitterNo;

    @ApiModelProperty(value="")
    private String submitterName;

    @ApiModelProperty(value="")
    private Integer submitterDeptId;

    @ApiModelProperty(value="")
    private Date submitterTime;

    @ApiModelProperty(value="")
    private Integer applyType;

    @ApiModelProperty(value="")
    private Integer status;

    @ApiModelProperty(value="")
    private String statusName;

    @ApiModelProperty(value="")
    private String lastApproverId;

    @ApiModelProperty(value="")
    private String lastApproverNo;

    @ApiModelProperty(value="")
    private String lastApproverName;

    @ApiModelProperty(value="")
    private Integer isDel;

    @ApiModelProperty(value="")
    private Date approvalTime;

    @ApiModelProperty(value="")
    private String removeId;

    @ApiModelProperty(value="")
    private String removeNo;

    @ApiModelProperty(value="")
    private String removeName;

    @ApiModelProperty(value="")
    private Date removeTime;

    @ApiModelProperty(value="")
    private String returnRemark;

    @ApiModelProperty(value="")
    private String beginTime;

    @ApiModelProperty(value="")
    private String endTime;

    @TableId(value = "detail_id")
    @ApiModelProperty(value="")
    private Integer detailId;

    @ApiModelProperty(value="")
    private Long userSerial;

    @ApiModelProperty(value="")
    private String userNo;

    @ApiModelProperty(value="")
    private String userName;

    @ApiModelProperty(value="")
    private Integer userDep;

    @ApiModelProperty(value="")
    private String depName;

    @ApiModelProperty(value="")
    private String bh;

    @ApiModelProperty(value="")
    private Date kssj;

    @ApiModelProperty(value="")
    private Date jssj;

    /**
     * 请假时长（分钟）
     */
    @ApiModelProperty(value="")
    private Integer jsjg;

    /**
     * 请假时长（小时）
     */
    private String jsjgHour;

    @ApiModelProperty(value="")
    private String bz;

    @ApiModelProperty(value="")
    private String glyNo;

    @ApiModelProperty(value="")
    private String shenhe;

    @ApiModelProperty(value="")
    private Integer lx;

    @ApiModelProperty(value="")
    private Date czrq;

    @ApiModelProperty(value="")
    private BigDecimal leaveLength;

    @ApiModelProperty(value="")
    private String businessPurposes;

    @ApiModelProperty(value="")
    private String inPlace;

    @ApiModelProperty(value="")
    private String accommodation;

    @ApiModelProperty(value="")
    private BigDecimal accommodationDays;

    @ApiModelProperty(value="")
    private Integer schedule;

    @ApiModelProperty(value="")
    private String imgPath;

    @ApiModelProperty(value="")
    private Integer whetherValidity;

    @ApiModelProperty(value="")
    private String isDeduct;

    @ApiModelProperty(value="")
    private String detailRemoveUser;

    @ApiModelProperty(value="")
    private Date detailRemoveTime;

    @ApiModelProperty(value="")
    private String detailReturnRemark;

    @ApiModelProperty(value="")
    private String leaveTypeName;

    @ApiModelProperty(value="")
    private Integer approver1;

    @ApiModelProperty(value="")
    private String approver1No;

    @ApiModelProperty(value="")
    private String approver1Name;

    @ApiModelProperty(value="")
    private Integer approver2;

    @ApiModelProperty(value="")
    private String approver2No;

    @ApiModelProperty(value="")
    private String approver2Name;

    @ApiModelProperty(value="")
    private Integer settleYear;

    @ApiModelProperty(value="")
    private Integer settleMonth;

    private static final long serialVersionUID = 1L;
}